#include <iostream>
#include <cstdlib> 
#include <cstring> 
using namespace std;

void swap(char*p);
int f(char *a,char *b,int strlen,int *result);

int main()
{
	char a[30],a1[30],b[30];
	int ret,result=0;
	scanf("%s %s",a,b);
	strcpy(a1,a);
	swap(a1);swap(a1+1);
	if( f(a,b,strlen(a),&result) )
	{
	}
	else if( f(a1,b,strlen(a1),&result) )
	{
		result++;
	} 
	if( result==0 )
	{
		printf("impossible");
	}
	else
	{
		printf("%d",result);
	}
	return 0;
}

void swap(char*p)
{
	*p=='0'?*p='1':*p='0';
} 

int f(char *a,char *b,int strlen,int *result)
{
	int count=0;
	char *p=a;
	for( ; a<p+strlen-1; a++,b++ )
	{
		if( *a!=*b )
		{
			swap(a);swap(a+1);if( a+2<p+strlen ){swap(a+2);}count++;
		}
		if( strcmp(a,b)==0 )
		{
			*result=count;return 1;
		}
	}
	return 0;
}
